/**
 * 软件模拟I2C
 * I2C芯片OD输出(SDA SCL)接上拉电阻;实现线与
 * 主机控制(SCL)
 */

#ifndef __SIMULATE_I2C_H
#define __SIMULATE_I2C_H
#include "sys.h"
#include "delay.h"

#define SimulateI2C_PORT GPIOB
#define SimulateI2C_SCL_PIN GPIO_Pin_6
#define SimulateI2C_SDA_PIN GPIO_Pin_7

void SimulateI2C_Config(void);

void SimulateI2C_WriteSCL(uint8_t BitVal);
void SimulateI2C_WriteSDA(uint8_t BitVal);
uint8_t SimulateI2C_ReadSDA(void);

void SimulateI2C_Start(void);
void SimulateI2C_Stop(void);
void SimulateI2C_SendByte(uint8_t b);
uint8_t SimulateI2C_ReceiveByte(void);
void SimulateI2C_SendAck(uint8_t AckBit);
uint8_t SimulateI2C_ReceiveAck(void);

#endif
